//  Copyright Druid Mechanics


#include "AuraAssetManager.h"
#include "AuraGameplayTags.h"
#include "AbilitySystemGlobals.h"

UAuraAssetManager& UAuraAssetManager::Get()
{
	check(GEngine);
	/**
	 * AssetManager: 一个对象负责处理运行时资产导入和管理在初始化时生成。
	 */
	UAuraAssetManager* AuraAssetManager = Cast<UAuraAssetManager>(GEngine->AssetManager);
	return *AuraAssetManager;
}

void UAuraAssetManager::StartInitialLoading()
{
	Super::StartInitialLoading();
	/**
	 * 在资产初始化时初始化标签。
	 */
	FAuraGameplayTags::InitializeNativeGameplayTags();
	/**
	 * InitGlobalData: 应该被作为项目启动的一部分被调用，去导入全局数据和标签。
	 */
	UAbilitySystemGlobals::Get().InitGlobalData();
}
